package org.jeecg.modules.imm.dto;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.EnableDict;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 资金方关联关系报文接收
 * @Author: prb
 * @Date: 2021-10-25
 * @Version: V1.0
 */
@Data
@TableName("scm_investor_item")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "资金方关联关系报文接收传输对象", description = "资金方关联关系报文接收传输对象")
public class InvestorRelationReceiveDto implements Serializable, EnableDict {
    private static final long serialVersionUID = 1L;
    /**
     * 资金方Id
     */
    @Excel(name = "资金方Id", width = 15)
    @ApiModelProperty(value = "资金方Id")
    @Dict(dictTable = "scm_investor",dicText = "full_name",dicCode = "investor_id")
    private Integer investorId;
    /**项目ID*/
    @Excel(name = "项目ID", width = 15)
    @ApiModelProperty(value = "项目ID")
    @Dict(dictTable = "scm_item",dicText = "item_name",dicCode = "item_id")
    private Integer itemId;
    /**客户号*/
    @Excel(name = "客户号", width = 15)
    @ApiModelProperty(value = "客户号")
    @Dict(dictTable = "scm_cus_info",dicText = "cus_name",dicCode = "cus_no")
    private Integer cusNo;
    /**月规模限额*/
    @Excel(name = "月规模限额", width = 15)
    @ApiModelProperty(value = "月规模限额")
    private java.math.BigDecimal monthScaleLimit;
    /**单笔规模限额*/
    @Excel(name = "单笔规模限额", width = 15)
    @ApiModelProperty(value = "单笔规模限额")
    private java.math.BigDecimal singleScaleLimit;
    /**	已使用规模*/
    @Excel(name = "	已使用规模", width = 15)
    @ApiModelProperty(value = "	已使用规模")
    private java.math.BigDecimal usedScale;
    /**授信额度*/
    @Excel(name = "授信额度", width = 15)
    @ApiModelProperty(value = "授信额度")
    private java.math.BigDecimal creditLine;
    /**已占用额度*/
    @Excel(name = "已占用额度", width = 15)
    @ApiModelProperty(value = "已占用额度")
    private java.math.BigDecimal occupiedQuota;
    /**预占用额度*/
    @Excel(name = "预占用额度", width = 15)
    @ApiModelProperty(value = "预占用额度")
    private java.math.BigDecimal preOccupiedQuota;
    /**可用额度*/
    @Excel(name = "可用额度", width = 15)
    @ApiModelProperty(value = "可用额度")
    private java.math.BigDecimal availableCredit;
    /**授信开始日*/
    @Excel(name = "授信开始日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "授信开始日")
    private java.util.Date creditStartTime;
    /**授信到期日*/
    @Excel(name = "授信到期日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "授信到期日")
    private java.util.Date creditEndTime;
    /**单笔融资限额*/
    @Excel(name = "单笔融资限额", width = 15)
    @ApiModelProperty(value = "单笔融资限额")
    private java.math.BigDecimal singleFinLimit;
    /**单笔融资最小期限*/
    @Excel(name = "单笔融资最小期限", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "单笔融资最小期限")
    private java.util.Date singleFinMinTime;
    /**单笔融资最大期限*/
    @Excel(name = "单笔融资最大期限", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "单笔融资最大期限")
    private java.util.Date singleFinMaxTime;
    /**基准利率*/
    @Excel(name = "基准利率", width = 15)
    @ApiModelProperty(value = "基准利率")
    private java.math.BigDecimal baseInterestRate;
    /**浮动点数*/
    @Excel(name = "浮动点数", width = 15)
    @ApiModelProperty(value = "浮动点数")
    private Integer floatingPoint;
    /**逾期浮动点数*/
    @Excel(name = "逾期浮动点数", width = 15)
    @ApiModelProperty(value = "逾期浮动点数")
    private java.math.BigDecimal overdueFloatingPoint;

    /**收款账号*/
    @Excel(name = "收款账号", width = 15)
    @ApiModelProperty(value = "收款账号")
    private String shroffAccountNumber;
    /**利息支付方 1-客户、2-核心企业*/
    @Excel(name = "利息支付方 1-客户、2-核心企业", width = 15)
    @ApiModelProperty(value = "利息支付方 1-客户、2-核心企业")
    @Dict(dicCode = "inv_item_interest_payer")
    private Integer interestPayer;
    /**结息方式*/
    @Excel(name = "结息方式", width = 15)
    @ApiModelProperty(value = "结息方式")
    @Dict(dicCode = "inv_item_interest_settlement_way")
    private Integer interestSettlementWay;
    /**结息日*/
    @Excel(name = "结息日", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "结息日")
    private java.util.Date interestExpiryTime;
    /**核心企业还款账户*/
    @Excel(name = "核心企业还款账户", width = 15)
    @ApiModelProperty(value = "核心企业还款账户")
    private String ceRepaymentAccount;
    /**核心企业还款账户名称*/
    @Excel(name = "核心企业还款账户名称", width = 15)
    @ApiModelProperty(value = "核心企业还款账户名称")
    private String ceRepaymentAccountName;
    /**核心企业还款账户开户行*/
    @Excel(name = "核心企业还款账户开户行", width = 15)
    @ApiModelProperty(value = "核心企业还款账户开户行")
    private String ceRepaymentAccountBank;
    /**
     * 融资率
     */
    @Excel(name = "融资率", width = 15)
    @ApiModelProperty(value = "融资率")
    private java.math.BigDecimal financingRate;

}
